/*
 * FSWUniCEUB - 2008
 * 
 * Este arquivo é de propriedade da Fábrica de Software do UniCEUB
 * 
 * Para mais informações entre em contato com a coordenação do
 * curso de Ciência da Computação da instituição.
 */

package br.uniceub.fsw.indicadores.vo;

import br.uniceub.fsw.indicadores.dao.IndicadorDAO;
import br.uniceub.fsw.seguranca.dao.ModuloDAO;
import br.uniceub.fsw.seguranca.vo.ModuloVO;

/**
 * Value Object da entidade Dado Primario do módulo de Indicadores.
 * 
 * Tabela: TB_DadoPrimario
 *
 * @author Filipe Scafuto Vieira ra 20463917
 */
public class DadoPrimarioVO {
    
    /**
     * Coluna: ID_DadoPrimario
     */
    private Integer idDadoPrimario;
    
    /**
     * Coluna: NO_DadoPrimario
     */
    private String noDadoPrimario;
    
    /**
     * Coluna: DS_DadoPrimario
     */
    private String dsDadoPrimario;
    
    /**
     * Coluna: DS_UnidadeMedidaDadoPrimario
     */
    private String dsUnidadeMedidaDadoPrimario;
    
    /**
     * Tabela referenciada: TB_Modulo
     * Coluna FK: CD_Modulo
     */
    private Integer cdModulo;
    
    /**
     * Modulo relacionado pela coluna cdModulo.
     */
    private ModuloVO modulo;

    /**
     * Tabela referenciada: TB_Indicador
     * Coluna FK: CD_Indicador
     */
    private Integer cdIndicador;
    
    /**
     * Indicador relacionado pela coluna cdModulo.
     */
    private IndicadorVO indicador;

    /*
     * Getters e Setters.
     */    

    public Integer getIdDadoPrimario() {
        return idDadoPrimario;
    }

    public void setIdDadoPrimario(Integer idDadoPrimario) {
        this.idDadoPrimario = idDadoPrimario;
    }

    public String getNoDadoPrimario() {
        return noDadoPrimario;
    }

    public void setNoDadoPrimario(String noDadoPrimario) {
        this.noDadoPrimario = noDadoPrimario;
    }
    
    public String getDsDadoPrimario() {
        return dsDadoPrimario;
    }

    public void setDsDadoPrimario(String dsDadoPrimario) {
        this.dsDadoPrimario = dsDadoPrimario;
    }

    public String getDsUnidadeMedidaDadoPrimario() {
        return dsUnidadeMedidaDadoPrimario;
    }

    public void setDsUnidadeMedidaDadoPrimario(String dsUnidadeMedidaDadoPrimario) {
        this.dsUnidadeMedidaDadoPrimario = dsUnidadeMedidaDadoPrimario;
    }
    
    public Integer getCdModulo() {
        return cdModulo;
    }

    public void setCdModulo(Integer cdModulo) {
        this.cdModulo = cdModulo;
    }
 
    public void setModulo(ModuloVO modulo) {
        this.modulo = modulo;
    }
    
    public ModuloVO getModulo() {
        
        if(this.modulo == null) {
            this.modulo = new ModuloDAO().consultarPorId(this.cdModulo);
        }
        
        return modulo;
    }  
    
    public Integer getCdIndicador() {
        return cdIndicador;
    }

    public void setCdIndicador(Integer cdIndicador) {
        this.cdIndicador = cdIndicador;
    }
 
    public void setIndicador(IndicadorVO indicador) {
        this.indicador = indicador;
    }
    
    public IndicadorVO getIndicador() {
        
        if(this.indicador == null) {
            this.indicador = new IndicadorDAO().consultarPorId(this.cdIndicador);
        }
        
        return indicador;
    }    
}
